
package com.be.beadmin.material.service;

import com.be.beadmin.common.entity.PageEntity;
import com.be.beadmin.material.dto.input.PickingTaskDto;
import com.be.beadmin.material.dto.output.PickingDetailsEx;
import com.be.beadmin.material.dto.output.PickingTaskEx;
import com.be.beadmin.material.entity.PickingTask;
import com.be.beadmin.product.entity.WorkOrderInfor;
import org.springframework.data.domain.Page;

import java.util.List;

/**
* @description 服务接口
* @author zmy
* @date 2023-05-14
**/
public interface PickingTaskService {

    /**
    * 分页的查询接口
    * @param pageEntity
    * @return
    */
    Page<PickingTaskEx> getPickingTaskByPage(PageEntity pageEntity);

    Page<PickingTaskEx> getPickingTaskByNotReceived(PageEntity pageEntity);

    Page<PickingTaskEx> getPickingReceptionPage(PageEntity pageEntity);

    Page<PickingTaskEx> getPickingTaskByReceived(PageEntity pageEntity);

    List<PickingTask> getPickingTaskBySomething(String s,List<PickingTask> pickingTasks);
    /**
    * @param pickingTaskDto
    */
    void addPickingTask(PickingTaskDto pickingTaskDto);

    /**
    * @param pickingTaskDto
    */
    void updatePickingTask(PickingTaskDto pickingTaskDto);

    /**
    * @param id
    */
    void delPickingTask(String id);

    /**
    * 删除多个角色
    * @param ids
    */
    void delPickingTasks (List<String> ids);

    /**
     * 下发分料任务
     * @param workOrderInfor
     */
    void deliverPickingTask(WorkOrderInfor workOrderInfor);
    void pickingFinish(String id);

    void workshopReception(String id);

    /**
     * 删除所有分料信息
     * @param id
     */
    void deletePickingTask(String id);
}